package com.stellar.circle.controller.admin.sComment.vo;

import com.stellar.web.core.bean.PageInfo;import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;


/**
 * 评论表(SComment)分页查询VO
 * 
 * @author Jqchan
 * @since 2025-05-19
 */
@Data
public class SCommentRequestPageVO extends PageInfo implements Serializable {
    private static final long serialVersionUID = -55011534389993471L;

    /**
     * 评论ID，主键
     */
    private Long id;
    /**
     * 评论用户ID（关联user表id）
     */
    private Long userId;
    /**
     * 关联来源ID（帖子ID或闲置物品ID）
     */
    private Long sourceId;
    /**
     * 来源类型：post-帖子/idle-闲置物品
     */
    private String sourceType;
    /**
     * 父评论ID（关联本表id，NULL表示一级评论）
     */
    private Long parentId;
    /**
     * 根评论ID（关联本表id，NULL表示一级评论）
     */
    private Long rootId;
    /**
     * 评论内容
     */
    private String content;
    /**
     * 评论图片（JSON数组格式存储URL）
     */
    private String images;
    /**
     * 是否匿名：0-实名/1-匿名
     */
    private Integer isAnonymous;
    /**
     * 是否被隐藏：0-否/1-是（敏感内容自动隐藏）
     */
    private Integer isHidden;
    /**
     * 隐藏原因
     */
    private String hiddenReason;
    /**
     * 状态：published-已发布/hidden-已隐藏/deleted-已删除
     */
    private String commentStatus;
    /**
     * 点赞数
     */
    private Integer likeCount;
    /**
     * 回复数
     */
    private Integer replyCount;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 修改人
     */
    private String updateBy;
    /**
     * 是否删除：1-删除/0-未删除
     */
    private Integer isDeleted;

    @Data
    public static class DateRange {
        private LocalDateTime beginTime;
        private LocalDateTime endTime;
    }
}
